package node

import "strconv"

//首先我们需要一个存储节点信息的结构体
type NodeInfo struct {
	NodeID     int    `json:"nodeId"`
	NodeIpAddr string `json:"nodeIpAddr"`
	Port       string `json:"port"`
}

//其次我们需要一个节点到集群的一个请求 的标准响应格式的结构体
type AddToClusterMessage struct {
	Source  NodeInfo `json:"source"`
	Dest    NodeInfo `json:"dest"`
	Message string   `json:"message"`
}

//将节点信息格式化输出
func (node *NodeInfo) String() string {
	return "NodeInfo {nodeId:" + strconv.Itoa(node.NodeID) + ", nodeIpAddr:" + node.NodeIpAddr + ", port:" + node.Port + "}"
}

//将添加节点信息格式化
func (req AddToClusterMessage) String() string {
	return "AddToClusterMessage:{\n  source:" + req.Source.String() + ",\n  dest: " + req.Dest.String() + ",\n  message:" + req.Message + " }"
}
